#include #include using namespace std; void main() { int xMoves = 0; int oMoves = 0; bool xTurn = true; bool continueGame = true; while(continueGame) { //display the gameboard int i = 1; for(int row = 0; row < 3; row++) { for(int column = 0; column < 3; column++) { if((xMoves & (int)pow(2.0,i) ) == (int)pow(2.0,i)) { cout << "X"; } else { if((oMoves & (int)pow(2.0,i) ) == (int)pow(2.0,i)) { cout << "O"; } else { cout << i; } } i++; if(column < 2) { cout << "|"; } } cout << endl; if(row < 2) { cout << "-----"; } cout << endl; } //get next move int move; if(xTurn) { cout << "X's "; } else { cout << "O's "; } cout << "Move? "; cin >> move; //apply the move if(xTurn) { //type cast (data-type) value; xMoves = (xMoves | (int)pow(2.0,move)); } else { oMoves = (oMoves | (int)pow(2.0,move)); } //check for win if((xMoves & 14) == 14 || (xMoves & 14) == 14 || (xMoves & 14) == 14 || (xMoves & 14) == 14 || (xMoves & 14) == 14 || (xMoves & 14) == 14 ) { cout << "X wins"; continueGame = false; } //change whose turn it is xTurn = !xTurn; } }